Introduction

This report summarizes the methodologies used to measure progress on SDG indicators 11.2.1 (access to public transportation) and 11.7.1 (proportion of public open space in cities) using (1) data from OpenStreetMap and (2) data from municipal Open Data websites and transit agency GTFS feeds.

The descriptions of the indicators and monitoring frameworks come from this UN document.

Both of these indicators are part of Sustainable Development Goal 11: Make cities and human settlements inclusive, safe, resilient and sustainable.

This analysis was conducted as part of the OpenStreetMap US project for the 2020 Azavea Summer of Maps Fellowship.

Further details, including maps and measurements for additional cities, can be found on the project GitHub repository.

Transit SDG (11.2.1)

In this report, the UN proposes the following definition for the indicator: Percentage of people within 0.25 miles of public transit running at least every 20 minutes.

Methodology

Public transit includes stops, platforms, and/or terminals for any buses, trams / trolleys / streetcars, light rail, metros / subways, and ferries mapped in OpenStreetMap for the cities. Access includes having at least one such stop, platform, or terminal within 0.25mi (defined in two different ways, described below).

Note that the UN indicator stipulates that the transit run at least every 20 minutes, but headway information (stored in the interval=* tag) is not currently well populated on OSM - only about 8,000 total uses globally compared to over 190,000 bus routes mapped. The maximum headway requirement has been omitted from this analysis, but it can be easily included at a later time to consider only transit lines that run with sufficient frequency, once use of the interval=* tag has become more widespread.

Methodology:

  1. Download census block groups in Baltimore with population data

  2. Split into 1/10th square mile hexagonal grid cells

  3. Interpolate population for each cell by area. If a cell is fully contained within a block group, then that cell receives a proportion of the block group’s population that is equal to the proportion of the block group’s area that the cell occupies (i.e., 1/10th square mile divided by block group’s area). Where grid cells overlap multiple block groups, populations from the several block groups are allocated proportionally.

  4. Download transit point data from OSM via the Overpass API. Wrappers for the API exist in many programming languages, but I used the osmdata package in R for my analysis.

    • bus stops (highway=bus_stop and public_transport=platform & bus=yes)
    • tram stops (railway=tram_stop)
    • subway, train, and light rail stations / stops (railway=station)
    • ferry terminals (amenity=ferry_terminal)
  5. Find the percentage of population within 0.25mi of a transit stop. Calculate this percentage twice: once for the population of the entire city, and once for the population living only in those areas that are home to at laest 3,000 people per square mile, a commonly used threshold for the minimum density required to support a low frequency bus route.

    • Method 1: Are there any stops within 0.25mi of the centroid of the grid cell as the crow flies? 0.25mi buffers around the centroids of hexagonal grid cells 1/10th of a square mile in area create overlapping circular areas where the perimeter of each circle is close to the centroids of the neighboring grid cells.
    • Method 2: Are there any stops within 0.25mi of the centroid of the grid cell by walking distance? Walksheds are calculated from OSM road data using the OpenSourceRoutingMachine (OSRM).
  6. Repeat these calculations using the locations of transit stops downloaded from the GTFS feeds for the transit agencies that operate in Baltimore.

Method 1:

An example of the calculation shown in Baltimore. The buffers are in orange, original grids in blue, grid centroids in green, and transit stops in red. Each of these areas are considered areas with access to public transit, since at least one transit stop falls within their respective buffers.

Method 2:

Examples. The grid centroids are in green, the 0.25mi walkshed in orange, and the bus stops in red

OSM Contribution History

The contribution histories for the transit features on OpenStreetMap in these cities can be queried from the OpenStreetMap History Database.

Baltimore

The contribution history in Baltimore, and in all other cities with well-mapped transit on OpenStreetMap, shows that transit stops in Baltimore were mapped at a steady, moderate pace until the beginning of 2019, when about 3,000 bus stops were mapped all at once. The average number of unique contributors hovered around 3 for this entire time period, suggesting that this spike in mapped transit stops was the result of a bulk data import rather than a concerted community effort like a mapathon.

Philadelphia

Conversely, in cities with less well-mapped transit like Philadelphia, the contribution histories do not show a spike. While there does seem to have been some increased attention paid to mapping features like trolley lines (in green) in recent years, it’ll will take considerable time for the city to reach a level of map completion with respect transit features similar to that seen in Baltimore without a bulk data import of some sort.

Open Space SDG (11.7.1)

The UN proposes the following definition for this indicator: Area of public and green space as a proportion of total city space.

Separately, the UN Sustainable Development Solutions Network, the agency in charge of overseeing the SDGs, recommends a minimum standard for public space in urban areas is 45%, broken down into 30% for streets and sidewalks and 15% for green space.

Methodology

  1. Download the following OpenStreetMap features. Collect only the polygon/multipolygon features, as areas cannot be calculated for point or line features. Note that cemeteries are included as open space because they are typically publicly accessible, perform an important social function in cities, and are often places where people take walks or go for runs. Golf courses are omitted, because they are very often private clubs, and even public courses typically require payment to enter.
  • key=leisure
    • value=park
    • value=dog_park
    • value=garden
    • value=nature_reserve
    • value=pitch
    • value=playground
  • key=place, value=square
  • key=landuse, value=cemetery
  1. Download the same features (to the extent possible) from each city’s open data website. Some cities (e.g., Philadelphia) provide detailed land use maps that distinguish parks, ball fields, playgrounds, and cemeteries. Others (e.g. Houston) provide only shapefiles for city parks.

  2. Download US Census TIGER/Line boundaries and hydrologies for each city. Subtract the area of the hydrologies from the total area of the city to derive the land area for each city.

  3. Calculate the total area of park space features from OSM. Do the same for the open data features. Divide each sum by the city’s land area.